// -----------------------------
// Author: 		Dhaenens Gert 
// Creation: 	2/16/2015 8:01:00 PM				
// -----------------------------

#ifndef _IGraphicsDevice_h
#define _IGraphicsDevice_h

#include "Common.h"

namespace Flow
{

	class IWindow;

	class IGraphicsDevice
	{
	public:

		// Release the Graphics Device
		virtual void	Release() = 0;

		// Initialize the Graphics Device
		virtual Bool	Initialize(IWindow* lpWindow) = 0;

		// Begin a Draw Pass
		virtual void	Begin(Float r, Float g, Float b) const = 0;
		// End a Draw Pass
		virtual void	End() const = 0;

	};

}

#endif